package com.leyou.common.utils;

import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import com.aliyun.oss.model.OSSObjectSummary;
import com.aliyun.oss.model.ObjectListing;

import java.io.ByteArrayInputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
import java.util.List;


/** AliyunUtils
 * 阿里云工具类   该配置文件 默认操作杭州区域！ 其他区域 操作 需要修改区域信息代码
 */
public class AliyunUtils {

    // 阿里云主账号AccessKey拥有所有API的访问权限，风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维，请登录 https://ram.console.aliyun.com 创建RAM账号。
    public static String accessKeyId = "LTAI4GBVte2hvj4zx6Wj37MD";
    public static String accessKeySecret = "CMBsQJmLuorsC1fVBUeGGPIxw9ugM3";
    // Endpoint以杭州为例，其它Region请按实际情况填写。
    public static String endpoint = "http://oss-cn-shanghai.aliyuncs.com";
    public static String bucketName = "itcast-leyou-shanghai";//  空间名称


    /**
     * 删除文件
     * deleteFilename  阿里云上的文件名称 或者  文件目录/文件名称
     */
    public static void deleteFile(String deleteFilename) {

// 创建OSSClient实例。
        OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);


// 删除文件。如需删除文件夹，请将ObjectName设置为对应的文件夹名称。如果文件夹非空，则需要将文件夹下的所有object删除后才能删除该文件夹。
        ossClient.deleteObject(bucketName, deleteFilename);

// 关闭OSSClient。
        ossClient.shutdown();

    }


    /**
     * 列举文件
     */

    public static List<OSSObjectSummary> getOssList() {
        OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
        ObjectListing objectListing = ossClient.listObjects(bucketName);
        List<OSSObjectSummary> sums = objectListing.getObjectSummaries();
        for (OSSObjectSummary s : sums) {
            System.out.println("\t" + s.getKey());
        }

// 关闭OSSClient。
        ossClient.shutdown();

        return sums;
    }


}
